package com.ss.io02;

import java.io.*;

/**
 * @Auther: 520ljs
 * @Date: 2022/3/19 - 03 - 19 - 14:14
 */
public class Test07 {
    //这是一个main方法，是程序的入口
    public static void main(String[] args) throws IOException {
        //1.有一个源文件：
        File f1 = new File("e:\\a\\test.txt");
        //2.有一个目标文件：
        File f2 = new File("e:\\a\\demo.txt");
        //3.需要一个管 怼到 源文件：
        FileReader fr = new FileReader(f1);
        //4.需要一根管 怼到 目标文件：
        FileWriter fw = new FileWriter(f2);
        //5.套一根管在输入字符流外面：
        BufferedReader br = new BufferedReader(fr);
        //6.套一根管在输出字符流外面：
        BufferedWriter bw = new BufferedWriter(fw);
        //7.开始动作：
        //方式1：读取一个字符，输出一个字符：
        /*int n = br.read();
        while(n!=-1){
            bw.write(n);
            n = br.read();
        }*/

        //方式2：利用缓冲数组：
        /*char[] ch = new char[30];
        int len = br.read(ch);
        while (len != -1){
            bw.write(ch,0,len);
            len = br.read(ch);
        }*/

        //方式3：读取String
        String str = br.readLine();//每次读取文本文件中的一行，返回字符串
        while(str!=null){
            bw.write(str);
            //在文本文件中应该再写出一个换行：
            bw.newLine();//新起一行
            str = br.readLine();
        }

        //8.关闭流：
        bw.close();
        br.close();
    }
}
